package top.tangyh.lamp.care.vo.result;

import cn.hutool.core.map.MapUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Map;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import top.tangyh.basic.base.entity.Entity;
import top.tangyh.basic.interfaces.echo.EchoVO;
import java.io.Serializable;

/**
 * <p>
 * 表单查询方法返回值VO
 * 医嘱执行计划表
 * </p>
 *
 * @author zqb
 * @date 2024-07-22 15:09:13
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@Builder
@Schema(description = "医嘱执行计划")
public class BHl7YzYaoPlanResultVO extends Entity<Integer> implements Serializable, EchoVO {

    private static final long serialVersionUID = 1L;

    private Map<String, Object> echoMap = MapUtil.newHashMap();

    @Schema(description = "")
    private Integer id;

    /**
    * 对应医嘱id
    */
    @Schema(description = "对应医嘱id")
    private String orderId;
    /**
    * 分组号
    */
    @Schema(description = "分组号")
    private String groupId;
    /**
    * 
    */
    @Schema(description = "")
    private String patientIdent;
    /**
    * 
    */
    @Schema(description = "")
    private String hospitalNumber;
    /**
    * 长期=LONG临时=SHORT备用=SPARE
    */
    @Schema(description = "长期=LONG临时=SHORT备用=SPARE")
    private String conditionIdent;
    /**
    * 医嘱类型
    */
    @Schema(description = "医嘱类型")
    private String typeIdent;
    /**
    * 用药名称
    */
    @Schema(description = "用药名称")
    private String medication;
    /**
    * 药品id
    */
    @Schema(description = "药品id")
    private String medicationIdent;
    /**
    * 频次id
    */
    @Schema(description = "频次id")
    private String repeatIdent;
    /**
    * 主药品标记1是0否
    */
    @Schema(description = "主药品标记1是0否")
    private Integer isMaster;
    /**
    * 药品规格
    */
    @Schema(description = "药品规格")
    private String spec;
    /**
    * 一次剂量
    */
    @Schema(description = "一次剂量")
    private String amount;
    /**
    * 一次剂量单位
    */
    @Schema(description = "一次剂量单位")
    private String amountUnit;
    /**
    * 
    */
    @Schema(description = "")
    private String routeIdent;
    /**
    * 计划执行时间
    */
    @Schema(description = "计划执行时间")
    private LocalDateTime planTime;
    /**
    * 医生姓名
    */
    @Schema(description = "医生姓名")
    private String doctorName;
    /**
    * 医嘱开始时间
    */
    @Schema(description = "医嘱开始时间")
    private LocalDateTime startTime;
    /**
    * 医嘱结束时间
    */
    @Schema(description = "医嘱结束时间")
    private LocalDateTime endTime;
    /**
    * 医嘱操作时间
    */
    @Schema(description = "医嘱操作时间")
    private LocalDateTime operaTime;
    /**
    * 计划执行状态
    */
    @Schema(description = "计划执行状态")
    private String planStatusIdent;
    /**
    * 剂型
    */
    @Schema(description = "剂型")
    private String dosage;
    /**
    * 实际使用量
    */
    @Schema(description = "实际使用量")
    private BigDecimal ytCount;
    /**
    * 是否自定义
    */
    @Schema(description = "是否自定义")
    private Integer isDiy;
    /**
    * 是否删除
    */
    @Schema(description = "是否删除")
    private Integer isDeleted;
    /**
    * 用药途径
    */
    @Schema(description = "用药途径")
    private String wayIdent;
    /**
    * 用药通道
    */
    @Schema(description = "用药通道")
    private String channelIdent;
    /**
    * 抗菌限级
    */
    @Schema(description = "抗菌限级")
    private String kangJunXj;
    /**
    * 抗生限级
    */
    @Schema(description = "抗生限级")
    private String kangShengXj;
    /**
    * 执行时间
    */
    @Schema(description = "执行时间")
    private LocalDateTime exeTime;
    /**
    * 执行状态
    */
    @Schema(description = "执行状态")
    private String exeStatus;
    /**
    * 打印一次剂量
    */
    @Schema(description = "打印一次剂量")
    private String dyAmount;
    /**
    * 打印一次剂量单位
    */
    @Schema(description = "打印一次剂量单位")
    private String dyAmountUnit;
    /**
    * 入量统计类型 1，静点 2，口服药物 3，鼻饲4，其他 5口服
    */
    @Schema(description = "入量统计类型 1，静点 2，口服药物 3，鼻饲4，其他 5口服")
    private Integer inputType;
    /**
    * 是否显示到特护单0 否 1 是
    */
    @Schema(description = "是否显示到特护单0 否 1 是")
    private Integer isShowCare;
    /**
    * 单签名
    */
    @Schema(description = "单签名")
    private String signature1;
    /**
    * 双签名
    */
    @Schema(description = "双签名")
    private String signature2;
    /**
    * 备注
    */
    @Schema(description = "备注")
    private String remarks;

    /**
    * 是否来自出入量0 否 1是
    */
    @Schema(description = "是否来自出入量0 否 1是")
    private Integer isFromio;
    /**
    * 更新前实际用量
    */
    @Schema(description = "更新前实际用量")
    private BigDecimal oldYtCount;

    /**
    * 操作人工号
    */
    @Schema(description = "操作人工号")
    private String operatorGh;



}
